package org.springframework.social.tumblr.api.impl.json; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import java.io.IOException; @JsonDeserialize(using = TumblrResponseMixin.TumblrResponseDeserializer.class) class TumblrResponseMixin { static class TumblrResponseDeserializer extends JsonDeserializer<TumblrResponse> { @Override public TumblrResponse deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode root = jp.readValueAsTree(); TumblrResponse response = new TumblrResponse(); JsonNode meta = root.get("meta"); response.setStatus(meta.get("status").intValue()); response.setMessage(meta.get("msg").textValue()); response.setResponseJson(root.get("response").toString()); return response; } } }